package word515;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import static java.util.stream.Collectors.toList;

public class TestBookStream {
    public static void main(String[] args) {
        //实例化6个图书类对象，赋上姓名和价格值，放在数组里面后调用 Arrays.asList方法将其转换为列表，赋值给列表对象menu
        List<Book> menu = Arrays.asList(
                new Book("五大贼王",45),
                new Book("我的老千江湖",153),
                new Book("我的老千生涯",65),
                new Book("当下的力量",176),
                new Book("菜根谭",180),
                new Book("戒为良药",199)
        );

        //基于列表menu创建编程流,最后处理结果是返回满足条件的字符串，将其放入列表lowCaloriesBookname中
        List<String> lowCaloriesBookname = menu.stream()
                .filter(d->d.getPrice()>100)  //创建过滤器，通过匿名函数，保留get价格大于100的图书类对象
                .map(d->d.getName())      //返回满足条件对象的get姓名
                .collect(toList());       //将其放入列表lowCaloriesBookname


        //遍历并打印lowCaloriesBookname
        for (String name:lowCaloriesBookname
             ) {
            System.out.println(name);
        }


    }

}
